package homework;

/*
电视机类 有颜色、价格、屏幕大小等属性
有开机，关闭，换台等功能，但是此功能是通过遥控器实现的；
遥控器类有重量，无线范围，颜色等属性
有控制电视开机、关机、换台等功能
使用oop的方式分析并实现这个过程

 */
public class TV {
    private String color;
    private int price;
    private double size;

    public void open(Remote a) {
        a.controlOpen();
        System.out.println("电视开机了。。。");

    }
    public void Transform(Remote a){
        a.controlTransform();
        System.out.println("正在换台中......");
    }
    public void turnOff(Remote a){
        a.controlTurnOff();
        System.out.println("电视关机了。。。");
    }

    @Override
    public String toString() {
        return "电视颜色是"+color+"价格是"+price+"屏幕大小是"+size+"寸。";
    }

    public TV(String color, int price, double size) throws Exception {
        if (size < 0) {
            throw new Exception("电视尺寸非法");
        }
        if (price < 0) {
            throw new Exception("电视价格有问题");
        }
        this.color = color;
        this.price = price;
        this.size = size;

    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) throws Exception {
        if (price < 0) {
            throw new Exception("电视价格有问题");
        }
        this.price = price;
    }

    public double getSize() {
        return size;
    }

    public void setSize(double size) throws Exception {
        if (size < 0) {
            throw new Exception("电视尺寸非法");
        }
        this.size = size;
    }
}
